﻿using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

using SunXNA.RainbowXNA.Batch;

namespace SunXNA.RainbowXNA.RenderObject
{
    interface IBaseRenderObject
    {
        BoundingSphere Volume
        {
            get;
        }

        BoundingBox Box
        {
            get;
        }

        void Draw(GraphicsDevice device, Matrix m4World, Matrix m4View, Matrix m4Projection);

        void AddToBatch(CBatchManager batchManager, CRainbowXNA.CRenderInstance instance);

        CRainbowXNA.CRenderInstance CreateDefaultInstance( CRainbowXNA.RenderObjectHandleType handle, CRainbowXNA rainbow );
    }
}
